import cv2

# 捕获摄像头，0代表笔记本内置摄像头，外置摄像头改为1
cap = cv2.VideoCapture(0)
i = 0
while True:
    # 读取图像，ret表示当前帧是否捕获正确，返回布尔值
    ret, frame = cap.read()

    if ret:
        # 将图像显示出来
        cv2.imshow("capture", frame)
    # 画面暂停制定毫秒，期间按了键盘则返回按键的ASCII码，否则返回-1
    k = cv2.waitKey(1)
    # 参数为0表示无线等待，代码会阻塞
    # 不调用waitKey，画面只有一片灰色，而且一闪而过
    # 按空格键退出，ord()函数把字母转化为ASCII码
    if k == ord(' '):
        break
    # 按s键保存
    elif k == ord('s'):
        # 把图像写入图片
        cv2.imwrite(str(i) + '.jpg', frame)
        i = i + 1

# 关闭视频捕获器
cap.release()
# 销毁所有窗口
cv2.destroyAllWindows()


